/**
 * 统一响应结果
 */
export default class Result {
  /**
   * @param {number} code - 编码：1成功，0为失败
   * @param {string} msg - 错误信息
   * @param {Object} data - 数据
   */
  constructor(code = 1, msg = 'success', data = null) {
    this.code = code
    this.msg = msg
    this.data = data
  }

  /**
   * 成功响应（无数据）
   * @returns {Result} Result实例
   */
  static success() {
    return new Result(1, 'success')
  }

  /**
   * 成功响应（有数据）
   * @param {Object} data - 响应数据
   * @returns {Result} Result实例
   */
  static successWithData(data) {
    return new Result(1, 'success', data)
  }

  /**
   * 错误响应
   * @param {string} msg - 错误信息
   * @returns {Result} Result实例
   */
  static error(msg) {
    return new Result(0, msg)
  }
} 